(1) Field of the Invention
The present invention relates to the field of telecommunications, and more particularly, the field of testing fax modem transmissions in a looped-communications environment.
(2) Prior Art
In data transmissions between two regular, non-fax modems, data is transmitted asynchronously over the telephone line such that synchronization of the data on the receiving side must be performed in order to reconstruct the original data sent. One method for accomplishing this synchronization is to inject start and stop bits between the transmission of data characters (i.e. eight bits) in the data stream so as to signal to the receiving modem when valid data is being received. Another method for reconstructing the originally transmitted data is to utilize a protocol, such as MNP or V.42, which packetizes the data characters into blocks on the transmitting side and depacketizes the blocks on the receiving side. These higher level protocols, such as MNP4 and V.42, provide error detection capabilities by adding Cyclic Redundancy Checking (CRC) information to the frames, while protocols such as MNP5 and V.42bis provide data compression in addition to error detection.
Due to the inherent synchronization of the data stream, testing of regular, non-fax modems in a looped-communications environment (where data terminal equipment (DTE) such as a computer is coupled between the asynchronous ports of the modems) is relatively straight forward since the data input to the transmitting modem can be directly compared with the data output from the receiving modem to the DTE. The data sent from the DTE to the transmitting modem has start and stop bits which frame the characters for that modem. If the modems are using a high-level protocol, character framing information is retained in the data stream over the synchronous line such that the receiving modem can reconstruct the data, add new start and stop bits, and send the identical characters to the receiving DTE. If the modems are not using a high-level protocol (e.g. direct mode), then the start and stop bits are sent over the synchronous line with the character data such that the receiving DTE once again gets the identical characters that were previously transmitted. Upon receipt, the data characters are collected in the computer's receive buffer in units of eight bits called "octets" for comparison with the octets initially output from the computer's transmit buffer.
However, with fax modems (and other data transmission devices which utilize asynchronous serial ports for connecting to DTE equipment), the data transmissions are synchronous over the telephone line while asynchronous over an RS-232 serial line used to connect DTE equipment such as the computer which performs the testing. Data bits are transmitted synchronously over the telephone line. However, before the data bits are transmitted, "marks" (or binary "one" bits) are sequentially sent over the line to fill time. The data bits input to the transmitting fax modem from the computer are then injected into the stream of marks after a short but random amount of time, thereby causing a random offset of the data bits with respect to the octets that the receiving fax modem is sending to the computer. This random offset of the data bits is carried forward in the octets subsequently input to the computer to make the testing of data integrity in transmissions between fax modems quite difficult in a looped communication environment. This is because the octets received by the computer are possibly bit-shifted from those originally transmitted, therefore preventing direct comparison between the originally transmitted and subsequently received octets.
One method designed to overcome the above-noted problem is the implementation of a special synchronous port in each of the fax modems specifically designed for the purpose of testing the modems. (One such system which utilizes this method is known as TAS, produced by Telecom Analysis Systems, Inc.). The data bits are synchronously transmitted from the computer through the port directly into the data pump firmware which retransmits the data over the telephone line. The data bits received by the receiving modem are then output synchronously via its synchronous port to the computer. In this way, the transmission of data about the loop is kept synchronous so that the computer can compare byte for byte the input with the output to check for bit disparities. The problem with this method is that the special synchronous ports implemented in each of the fax modems utilize only the datapump portion for the generation and transmission of the signal waveforms over the telephone line. Therefore, by bypassing the majority of the protocol required to operate the fax modems during normal use, this testing method fails to detect many possible errors in the protocol. Hence, it would be desirable to provide a method which could test data transmissions between fax modems without having to develop components especially designed for testing and without having to bypass the normal flow of data through the protocol portion of the fax modems.
It is therefore an object of the present invention to provide a method and apparatus for testing data transmissions between fax modems which tests the integrity of the data transmissions under normal operation of the fax modems.
It is another object of the present invention to provide a method and apparatus for testing data transmissions between fax modems in a looped communications environment through synchronization and resynchronization of data bits output from the computer to the transmitting fax modem with the data bits input to the computer from the receiving fax modem.
It is a further object of the present invention to provide a method and apparatus for testing data transmissions between fax modems in which the data bits output from and input to the computer are synchronized and resynchronized by comparing the octets input to the receive buffer of the computer with corresponding octets of an original buffer and a predetermined number of preshifted buffers having data bits shifted from those of the original buffer.
Yet another object of the invention is to provide a method and apparatus for testing data transmissions between fax modems which tests for, among other things, throughput information, bit errors, bit/octet insertions and deletions, flow control and DLE shielding.